/**
 * 计算 K时刻的小时显示格式
 * 
 * @description 将 K时刻格式化为显示用的小时字符串（整点显示单个数字，非整点显示 HH:mm）
 * @param ganttData - 甘特图数据对象
 * @returns K时刻的显示字符串
 */

import { computed, ComputedRef } from 'vue'
import { GanttData } from './types'

export function useKTimeHour(
  ganttData: GanttData
): ComputedRef<string> {
  return computed(() => {
    const timeStr = ganttData.simulation.currentTime
    if (!timeStr) return '0'
    
    // 解析时间字符串，获取小时
    const date = new Date(timeStr.replace(/-/g, '/'))
    if (isNaN(date.getTime())) return '0'
    
    const m = date.getMinutes()
    // 如果是整点，直接显示小时数（不补0，如 8）
    if (m === 0) {
      return String(date.getHours())
    }
    
    const hh = String(date.getHours()).padStart(2, '0')
    const mm = String(m).padStart(2, '0')
    return `${hh}:${mm}`
  })
}
